// 消息提示
// 下面的{name='xxx'} = {}写法，可让toast()在被调用时不传参或者传对象形式的参数
const toast = ({ title = '数据加载中...', icon = 'none', duration = 2000, mask = true } = {}) => {
  wx.showToast({
    title,
    icon,
    duration,
    mask
  })
}
// 模态对话框，返回一个promise对象,在接收时需要用到await
const modal = (obj = {}) => {
  return new Promise((resolve) => {
    // 部分默认参数
    const defaultObj = {
      title: '提示',
      content: '确定删除？',
      confirmText: '确定',
      confirmColor: '#f3514f'
    }
    // 合并,为了不影响默认的参数，需要将合并后的参数赋值给一个空对象
    const newObj = Object.assign({}, defaultObj, obj)
    // 将合并的参数赋值通过展开运算符传递给 wx.showModal()
    wx.showModal({
      ...newObj,
      complete: ({ confirm, cancel }) => {
        if (confirm) {
          resolve(true)
        } else if (cancel) {
          resolve(false)
        }
      }
    })
  })
}
// 在微信wx全局对象上挂载toast
wx.toast = toast
wx.modal = modal
export { toast, modal }
